package org.web.base.domain.view;

import java.lang.reflect.Field;
import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 从类中读取 @DisplayName 注解值的工具类。
 */
public class DisplayNameHelper {

    /**
     * 获取字段名称与中文展示名的映射。
     *
     * @param clazz DTO 类
     * @return Map<字段名, 中文名>
     */
    public static Map<String, String> getDisplayNames(Class<?> clazz) {
        Map<String, String> result = new LinkedHashMap<>();
        for (Field field : clazz.getDeclaredFields()) {
            DisplayName annotation = field.getAnnotation(DisplayName.class);
            if (annotation != null) {
                result.put(field.getName(), annotation.value());
            }
        }
        return result;
    }
}